package com.zhangtai.modules.vo;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.zhangtai.config.LongJsonDeserializer;
import com.zhangtai.config.LongJsonSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;


/**
 * 
 *
 * @author chenshun
 * @email sunlightcs@gmail.com
 * @date 2020-07-28 16:29:08
 */
@Data
public class DimissionVo implements Serializable {
	private static final long serialVersionUID = 1L;

//			/**
//		 * id
//		 */
//

	@ApiModelProperty(value="id",required = true)
	@JsonDeserialize(using = LongJsonDeserializer.class)
	@JsonSerialize(using = LongJsonSerializer.class)
			private Long id;
			/**
		 * 员工id
		 */
			@NotNull(message = "员工id不能为空")
			@ApiModelProperty(value="员工id",required = true)
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long oid;


			/**
		 * 工号
		 */

			@ApiModelProperty(value="员工工号",required = false)
			private String code;

			/**
		 * 姓名
		 */
			@ApiModelProperty(value="姓名",required = false)
			private String name;
			/**
		 * 部门id
		 */
			@ApiModelProperty(value="部门工号",required = false)
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long unitId;
			/**
		 * 公司id
		 */
			@ApiModelProperty(value="公司id",required = false)
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long orgId;
			/**
		 * 岗位id
		 */
			@ApiModelProperty(value="职位id",required = false)
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long jobId;
			/**
		 * 职级id
		 */
			@ApiModelProperty(value="职级id",required = false)
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long joblevelId;
			/**
		 * 职级类别
		 */
			@ApiModelProperty(value="职级类别,1:专业职级，2：管理职级",required = false)
			private Integer jobLevelType;
			/**
		 * 离职日期
		 */
			@ApiModelProperty(value="离职日期",required = false)
			private Date dimissionTime;
			/**
		 * 交接人
		 */
			@ApiModelProperty(value="交接人",required = false)
			private String associate;
			/**
		 * 主管辅导
		 */
			@ApiModelProperty(value="主管辅导，1：优良，2:良好，3:普通 4一般 :5:很糟",required = false)
			private Integer zhudaoScore;
			/**
		 * 薪资报酬
		 */
			@ApiModelProperty(value="薪资报酬，1：优良，2:良好，3:普通 4一般 :5:很糟",required = false)
			private Integer salaryScore;
			/**
		 * 工作时长
		 */
			@ApiModelProperty(value="工作时长，1：优良，2:良好，3:普通 4一般 :5:很糟",required = false)
			private Integer workTimeScore;
			/**
		 * 培训获得
		 */
			@ApiModelProperty(value="培训获得，1：优良，2:良好，3:普通 4一般 :5:很糟",required = false)
			private Integer trainGetScore;
			/**
		 * 晋升机会
		 */
			@ApiModelProperty(value="晋升机会，1：优良，2:良好，3:普通 4一般 :5:很糟",required = false)
			private Integer promotionScore;
			/**
		 * 沟通迟到
		 */
			@ApiModelProperty(value="沟通渠道，1：优良，2:良好，3:普通 4一般 :5:很糟",required = false)
			private Integer communicationScore;
			
			@ApiModelProperty(value="离职方式",required = false)
			private String mode;
			
			@ApiModelProperty(value="离职类型",required = false)
			private String dimission_type;
			
			@ApiModelProperty(value="保密协议",required = false)
			private String secrecy;
			
			@ApiModelProperty(value="违约金补偿",required = false)
			@JsonDeserialize(using = LongJsonDeserializer.class)
			@JsonSerialize(using = LongJsonSerializer.class)
			private Long liquidated_damages;
			
			@ApiModelProperty(value="离职去向",required = false)
			private String whereabouts;
			
			@ApiModelProperty(value="司龄",required = false)
			private String secretary_ling;
			
			@ApiModelProperty(value="岗位",required = false)
			private String jobname;
			
			@ApiModelProperty(value="部门名称",required = false)
			private String unitname;
			
			@ApiModelProperty(value="公司名称",required = false)
			private String orgname;
			
//			@ApiModelProperty(value="申请部门",required = false)
//			private String unitname;
			/**
			 * 入职日期
			 */
				private Date hiredate;
				
			/**
			 * 申请日期
			 */
			private Date application_date;

	/**
	 * 离职原因
	 */
	@ApiModelProperty(value="离职原因",required = false)
	private String reason;

	/**
	 * 审批状态：0.待审批，1.已审批，2.驳回
	 */
	private String rurnover_status;
	
	/**
	 * 附件路径
	 */
	private String url_ids;

}
